package com.spring.demo4.factory.advice;

import org.springframework.aop.BeforeAdvice;
import org.springframework.lang.Nullable;

import java.lang.reflect.Method;

/**
 * MethodBeforeAdvice: 方法执行前通知，需要在目标方法执行前执行一些逻辑的，可以通过这个实现
 *
 * @author vhans
 */
public interface MyMethodBeforeAdvice extends BeforeAdvice {
    /**
     * 调用目标方法之前会先调用这个before方法
     *
     * @param method 需要执行的目标方法
     * @param args   目标方法的参数
     * @param target 目标对象
     */
    void before(Method method, Object[] args, @Nullable Object target) throws Throwable;
}
